The invention relates to digital communications networks, and particularly, although not exclusively to an arrangement and method for enabling a plurality of channels to occupy a single asynchronous transfer mode (ATM) connection.
The known asynchronous transfer mode (ATM) transmission technique is, a modern telecommunications switching technique which is able to switch connections for a wide range of different data types at a wide range of different bit rates. ATM technology provides a flexible form of transmission which allows various types of service traffic data, eg. voice data, video data, or computer generated data to be multiplexed together onto a common physical means of transmission. Currently, several trends are encouraging the widespread introduction of ATM; for example the availability of high speed, low error rate communication links between switching centers, an availability of technology to digitize video and speech, and pressure to reduce operating costs by integrating previously separate telephony and data network. ATM technology allows speech data, video and inter-computer data to be carried across a single communications network. The information carried in each of these services is reduced to digitized strings of numbers which are transmitted across such a communications network from point to point.
Referring to FIG. 1 herein, there is illustrated schematically a pair of known interworking functions 101 and 102 connected by an ATM virtual channel connection (ATM VCC) 103 across an ATM network 100. FIG. 1 illustrates a pair of interworking functions which may be residing at a pair of distinct telecoms resources eg switches, cross connects, comprising processing means and memory means. It will be understood by those skilled in the art that a plurality of interworking functions may be interconnected over a plurality of ATM VCC. Incoming to first interworking function 101 are, for example, a plurality of digitized voice signals multiplexed together using the E1 or T1 mutiplexing systems. First and second interworking functions 101 and 102 are configured to convert data arriving in a plurality of forms and conforming to a plurality of different data standards into a form suitable for transmission over ATM VCC 103 across ATM network 100. Interworking functions 101 and 102 are also configured to perform conversion of data sets across ATM network 100 back into a plurality of different data standards. Each of these incoming channels may carry data at a bit rate of 64 kilobits per second (kbits/s).
There is a financial cost associated with leasing sufficient bandwidth between interworking functions 101 and 102 to transmit a plurality of uncompressed 64 kbits/s channels down a single ATM virtual circuit 103. Therefore, it is known to apply a range of different data compression techniques in order to make more efficient use of the available band width. For example, the known G series data compression techniques can be used to compress streams of data having a bit rate of 64 kbits/s down to bit rates of 40 kbits/s or 8 kbits/s. In addition, speech activity detection (SAD) techniques can be used to suppress pauses in speech data allowing other data to be inserted in the gaps. After compression, there may exist a plurality of compressed 8 kbits/s data to be transferred between interworking functions 101 and 102 across ATM virtual channel 103 via ATM network 100. The plurality of compressed channels of data may represent a plurality of calls between a plurality of users.
Referring to FIG. 2 herein, there is illustrated schematically first and second interworking functions 101, 102 represented as a set of functional layers. Each interworking function comprises the following protocol stack of functional layers:
a Service Specific Conversion Sub-layer (SSCS) 201 into which compressed voiced data are input and output;
a Common Part Sub-layer (CPS) 202;
an ATM Sub-layer 203; and
a Physical Sub-layer 204.
The set of functional layers 201 to 204 are well known in the art. Each functional layer within the protocol stack is configured to exchange information with the functional layer above it and the functional layer below it. The exchange of information between functional layers within the protocol stack enables each functional layer to provide a service for the functional layer immediately above it. Each functional layer can be considered to exchange information directly with the same functional layer within a protocol stack residing within a distant interworking function across a virtual channel. The exchange of information between interworking functions 101 and 102 is actually effected by the exchange of information across a physical connection between physical sub-layers 204 and 208. Compressed voice data which are input into the interworking function 101 by the Service Specific Conversion Sub-layer 201 are transferred across an ATM network to the remote second interworking function 102 which comprises a similar protocol stack to interworking function 101. The output of Service Specific Conversion Sub-layer 205 of first interworking function 102 is compressed voice data.
Whilst transmission of compressed voice data is shown in one direction in FIG. 1, the protocol stacks are bi-directional and transmission can occur in both directions between first and second interworking functions 101, 102.
In FIG. 2 herein there is illustrated a single Service Specific Conversion Sub-layer 201 associated with interworking function 101. In a real network there may be a plurality of such Service Specific Conversion Sub-layers receiving a plurality of compressed voice data channels. The Common Part Sub-layer 202 is configured to receive a plurality of compressed voice data channels from the plurality of Service Specific Conversion Sub-Layers and multiplex the plurality of compressed voice data channels together. The combination of Service Specific Conversion Sub-layers 201 and Common Part Sub-layer 202 in interworking function 101 are also known in the prior art as ATM Adaption Layer Type 2 (AAL2).
In order to make best use of the available band width over a single ATM VCC it is known to have a plurality of channels carrying a plurality of, for example, compressed voice data channels. In order to be able to carry a plurality of separate streams of digital data across a network using a plurality of ATM AAL2 channels over a single ATM virtual channel connection (VCC), there is a need to be able to identify individual ATM AAL2 channels at both interworking functions.
Specific embodiments and methods according to the present invention aim to facilitate the establishment of a plurality of ATM AAL2 channels across a single ATM virtual circuit, thereby providing a more efficient use of available band width in communications networks.
According to a first aspect of the present invention there is provided a method of communicating a plurality of AAL2 channels over an ATM virtual channel connection between first and second communications entities, said method comprising the steps of:
maintaining a stored record of a plurality of channel identifiers relating to a plurality of AAL2 channels; and
establishing an AAL2 channel on a virtual channel connection by sending and receiving a plurality of messages over an AAL2 channel between said first and second communication entities,
wherein said messages operate on said stored record of channel identifiers to modify said channel identifiers into an assigned state indicating an AAL2 channel has been assigned to a virtual channel connection, or an unassigned state, indicating an AAL2 channel is unassigned to a virtual channel connection.
The invention includes a method of establishing an AAL2 channel over an ATM virtual channel connection comprising the steps of:
maintaining a stored record of a plurality of channel identifiers relating to a corresponding plurality of AAL2 channels; and
modifying a status of said stored channel identifier indicating a corresponding said AAL2 channel is assigned to a virtual channel connection.
Said status may be modified in response to a set of primitive messages received from a system management means.
The invention includes a method of de-establishing an AAL2 channel from an ATM virtual channel connection, said method comprising the steps of:
maintaining a stored record of a plurality of channel identifiers relating to a plurality of AAL2 channels; and
modifying a status of a said stored channel identifier to indicate a said corresponding AAL2 channel is unasssigned to a virtual channel connection.
The status may e modified in response to a set of primitive messages received from the system management means.
The status may be modified in response to at least one peer to peer message received from a communications network.
According to a second aspect of the present invention there is provided an ATM communications entity capable of communicating a plurality of AAL2 channels over a single ATM virtual channel connection (VCC), said device comprising:
means for storing a plurality of records describing a status of a plurality of AAL2 channel identifiers;
means for generating a set of messages operating on said stored channel identifier records;
means for generating a plurality of originating procedure messages for creating a plurality of AAL2 channels; and
means for generating a plurality of terminating procedure messages complementary to the originating procedure messages for creating a plurality of AAL2 channels; and
means for generating a plurality of originating procedure messages for releasing a plurality of AAL2 channels; and
means for generating a plurality of terminating procedure messages complementary to the originating procedure messages for releasing a plurality of AAL2 channels.
According to a third aspect of the present invention there is provided a method of assigning a plurality of AAL2 channels to an ATM virtual channel connection (VCC), said method comprising the steps of:
to set up a said AAL2 channel;
generating an assignment request message for sending to an ATM communications entity to request assignment of an AAL2 channel in response to said request message;
receiving a first assignment confirmation message confirming receipt of said assignment request message; and
sending a second assignment confirmation message for confirming receipt of said first assignment confirmation message.
Preferably the method further comprises the steps of:
if said first assignment confirmation message is not received within a predetermined period, sending a second assignment request message to request assignment of an AAL2 channel in response to said second assignment request message.
Preferably the method further comprises the step of:
if neither said assignment request message nor said second assignment confirmation message is received within a predetermined period after the sending of said first assignment confirmation message, the assignment of said AAL2 channel to said ATM VCC is assumed to be complete.
According to a fourth aspect of the present invention there is provided a method of releasing an AAL2 channel carried over an ATM virtual channel connection (VCC) said method comprising the steps of:
sending a first release request message, said first release request message requesting disconnection of an AAL2 channel from a virtual channel connection;
receiving a first release confirm message confirming release of a said AAL2 channel; and
sending a second release confirm message confirming receipt of said first release confirm message.
Preferably, the method further comprises the step of:
if said first release confirm message is not received within a predetermined time, sending a second release request message requesting release of said AAL2 channel.
Preferably the method further comprises the step of:
if neither a release request message nor a release confirm message is received within a predetermined time after sending said second release confirm message, the release of said AAL2 channel is assumed to be complete.
The invention includes a method for transmitting a plurality of streams of digital data using at least one of a plurality of channels over a communications network, said method comprising the steps of:
identifying an unused channel amongst said plurality of channels, wherein said plurality of channels are configurable to connect a transmitting function to a receiving function;
sending a message from said transmitting function to said receiving function requesting to use said identified channel to connect said transmitting function to said receiving function;
sending a message from said receiving function to said transmitting function confirming that said identified channel is available to transmit said digital data between said transmitting function and said receiving function;
exchanging said stream of digital data between said transmitting function and said receiving function using said identified channels; and
releasing said identified used channel.
Preferably said step of identifying an unused channel amongst said plurality of channels comprises the steps of:
sending a first message from a first functional block of said transmitting function to a second functional block of said transmitting function requesting an unused channel;
sending a second message from said second functional block of said transmitting function to a third functional block of said transmitting function to identify an unused channel amongst said plurality of channels and to mark as assigned said unused channel;
sending a third message from said second functional block of said transmitting function to said first functional block of said transmitting function confirming that said unused channel is available.
Preferably said step of sending a message from a transmitting function to a receiving function comprises sending a message from a second functional block within said transmitting function to a corresponding second functional block within said receiving function.
Preferably said step of sending a message from said receiving function to said transmitting function confirming said identified channel, comprises the steps of:
sending a fourth message from said corresponding second functional block within said receiving function to a first functional block within said receiving function said message identifying said unused channel;
sending a fifth message from said first functional block within said receiving function to said second functional block within said receiving function accepting said unused channel;
sending a sixth message from said second functional block of said receiving function to a third functional block within said receive function to mark as assigned said unused channel;
sending a seventh message from said second functional block of said receiving function to said second functional block of said transmitting function confirming that said identified unused channel is acceptable; and
sending an eighth message from said second functional block of said transmitting function to said first functional block of said transmitting function confirming that said identified unused channel is acceptable.
Preferably said step of releasing said identified used channel comprises the steps of:
sending aft ninth message from said first functional block of said transmitting function to said second functional block of said transmitting function requesting to release said identified used channel;
sending a tenth message from said second functional block of said transmitting function to said third functional block of said transmitting function requesting to mark said identified used channel as unassigned;
sending an eleventh message from said second functional block of said transmitting function to said corresponding second functional block of said receiving function requesting to release said identified used channel;
sending a twelfth message from said second functional block of said receiving function to said first functional block of said receiving function requesting to release said identified used channel;
sending a thirteenth message from said first functional block of said receiving function to said second functional block of said receiving function confirming release of said identified used channel;
sending a fourteenth message from said second functional block of said receiving function to said third functional block of said receiving function requesting to mark said identified used channel as unassigned;
sending a fifteenth message from said second functional block of said receiving function to said second functional block of said transmitting function confirming release of said identified used channel; and
sending a sixteenth message from said second functional block of said transmitting function to said first functional block of said transmitting function confirming release of said identified used channel.
Preferably said plurality of channels comprise a plurality of ATM adaption layer type 2 channels.
A said transmitting and said receiving function may each comprise an interworking function.
The invention includes a network comprising:
a plurality of physical resources comprising a plurality of processors, and a plurality of memory means;
a means for communicating between said plurality of physical resources;
a plurality of functions residing at said plurality of processors and said plurality of memory means, wherein at least one function of said plurality of functions is sub-divided into a first set of functional blocks;
at least one functional block of said first set of functional blocks is sub-divided into a second set of functional blocks, wherein members of said first set of functional blocks are configurable to exchange a first set of messages with members of said second set of functional blocks; and
members of said second set of functional blocks within a first function residing at a first set of processors and a first set of memory means are configurable to exchange a second set of messages with corresponding members of a second set of functional blocks within a second function residing at a second set of physical resources and a second set of memory means.
Preferably said communicating means comprises an ATM adaption layer type 2 virtual channel connection.
Said second set of functional blocks within said first function and said second set of functional blocks within said second function may comprise:
a means for originating a plurality of channels between said first function and said second function;
a means for terminating a plurality of channels between said first function and said second function; and
a means for storing a status of a channel of said plurality of channels between said first function and said second function, wherein said status of a channel indicates whether said channel is in use.